package listbyorder.access001_100.test73;

import java.util.HashSet;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/4 8:47
 */
public class Solution1 {

    // 方法一：自己的方法，使用两个HashSet缓存行列数
    public void setZeroes(int[][] matrix) {

        // 首先计算出行列
        int m = matrix.length;
        int n = matrix[0].length;
        HashSet<Integer> rows = new HashSet<>();
        HashSet<Integer> cols = new HashSet<>();
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (matrix[i][j] == 0) {
                    rows.add(i);
                    cols.add(j);
                }
            }
        }
        for (Integer row : rows) {
            for (int j = 0; j < n; j++) {
                matrix[row][j] = 0;
            }
        }
        for (Integer col : cols) {
            for (int i = 0; i < m; i++) {
                matrix[i][col] = 0;
            }
        }
    }
}
